package com.dylon.system.service;

import com.dylon.system.domain.SysProject;

import java.util.List;

public interface ISysProjectService {

    /**
     * 根据条件分页查询项目数据
     * @param project 项目信息
     * @return 项目信息集合
     */
    public List<SysProject> selectProjectList(SysProject project);

    /**
     * 通过项目ID查询项目
     * @param projectId 项目ID
     * @return 项目对象信息
     */
    public SysProject selectProjectById(Long projectId);

    /**
     * 校验项目名称是否唯一
     * @param project 项目信息
     * @return 结果
     */
    public String checkProjectNameUnique(SysProject project);

    /**
     * 通过项目ID删除项目
     * @param projectId 项目ID
     * @return 结果
     */
    public boolean deleteProjectById(Long projectId)throws Exception;

    /**
     * 批量删除项目信息
     * @param ids 需要删除的数据ID
     * @return 结果
     * @throws Exception 异常
     */
    public int deleteProjectByIds(String ids) throws Exception;

    /**
     * 修改保存项目信息
     * @param project 项目信息
     * @return 结果
     */
    public int updateProject(SysProject project);

    /**
     * 新增保存项目信息
     * @param project 项目信息
     * @return 结果
     */
    public int insertProject(SysProject project);

    /**
     * 项目状态修改
     * @param project 项目信息
     * @return 结果
     */
    public int changeStatus(SysProject project);

    /**
     * 查询项目使用数量
     * @param projectId 角色ID
     * @return 结果
     */
    public int countProjectUsedById(Long projectId);
}
